package cn.itcast.eshop.client;

import cn.itcast.eshop.common.entity.Msg;
import cn.itcast.eshop.common.util.JSONUtil;
import cn.itcast.eshop.user.action.UserAction;

import java.util.Scanner;

/**
 * 用户操作界面
 * 所有和用户操作相关的内容，都放到这个类里
 */
public class UserClient extends Client{
    /**
     * 用户登录操作界面
     * 1.使用控制台提示用户输入用户名，密码
     * 2.向服务器发送请求，并接受返回的字符串
     * 使用setter方法把数据传给Action
     * 调用Action的登录功能
     * 3.解析消息字符串，提示用户信息
     * 4.使用字符串常量作为跳转标记
     * 成功返回上一次操作的页面
     * 失败返回登录页面
     * @return
     */
    public String showlogin(){
        //1.使用控制台提示用户输入用户名，密码
        Scanner sc=new Scanner(System.in);
        System.out.println("请输入用户名：");
        String username=sc.nextLine();
        System.out.println("请输入密码：");
        String password=sc.nextLine();
        //2.向服务器发送请求，并接受返回的字符串
        UserAction useraction=new UserAction();
        //2.1使用setter方法把数据传给Action
        useraction.setUsername(username);
        useraction.setPassword(password);
        //2.2调用Action的登录功能
        String result=useraction.login();//返回一个json格式的字符串结果

        //3.解析消息字符串，提示用户信息
//        Msg msg= JSONUtil.JSON2Entity(result, Msg.class);
//        if(msg.getType().equals(Msg.SUCCESS)){
//            //登录成功
//            System.out.println("登录成功！");
//            return HISTORY;
//        }else{
//            System.out.println("登录失败！");
//            return LOGIN;
//        }
//3.解析消息字符串，提示用户信息
        Msg msg=JSONUtil.JSON2Entity(result, Msg.class);
        if(msg.getType().equals(Msg.SUCCESS)){
            //登录成功
            System.out.println(msg.getMsg());
            return HISTORY;
        }else{
            System.out.println(msg.getMsg());
            return LOGIN;
        }


    }

}
